package com.tulele.vtool.service;

import com.tulele.vtool.model.AdvertInfo;
import com.tulele.vtool.model.AdvertTagInfo;
import com.tulele.vtool.model.ArticleAdvertInfo;

import java.util.List;

public interface AdvertInfoService {
    /**
     * 20200507 yl
     * 新增广告
     * @param advertInfo
     */
    void addAdvertByUserId(AdvertInfo advertInfo);

    /**
     * 20200507 yl
     * userId、广告类型、广告id查询广告
     * @return
     */
    List<AdvertInfo> selectAdvertByUserIdAndAdvertType(AdvertInfo advertInfo);

    /**
     * 20200507 yl
     * 通过广告id删除广告
     * @param advertId
     * @return
     */
    void deleteAdvertByAdvertId(Integer advertId);

    /**
     * 20200508 yl
     * 修改广告
     * @param
     * @param advertInfo
     * @return
     */
    void updateAdvertByAdvertId(AdvertInfo advertInfo);

    /**
     * 20200508 yl
     * 根据标签类型查询标签
     * @param
     * @param
     * @return
     */
    List<AdvertTagInfo> selectAdvertTagByTagTypeAndTagId(AdvertTagInfo advertTagInfo);


    /**
     * 20200508 yl
     * 添加标签
     * @param advertTagInfo
     * @return
     */
    void addAdvertTag(AdvertTagInfo advertTagInfo);

    /**
     * 20200508 yl
     * 通过标签id删除标签
     * @param advertTagInfo
     * @return
     */
    void deleteAdvertTagByTagId(AdvertTagInfo advertTagInfo);

    /**
     * 20200509 yl
     * 通过广告标题模糊查询广告
     * @param
     * @param advertInfo
     * @return
     */
    List<AdvertInfo> selectAdvertByLikeAdvert(AdvertInfo advertInfo);

    /**
     * 20200509 yl
     * 视频添加广告
     * @param articleAdvertInfo
     * @return
     */
    void addVideoAdvert(ArticleAdvertInfo articleAdvertInfo);

    /**
     * 20200509 yl
     * 视频删除广告
     * @param articleAdvertInfo
     * @return
     */
    void delVideoAdvert(ArticleAdvertInfo articleAdvertInfo);

    /**
     * 20200509 yl
     * 通过视频id、广告id查询视频广告
     * @param articleAdvertInfo
     * @param
     * @return
     */
    AdvertInfo selectVideoAdvert(ArticleAdvertInfo articleAdvertInfo);

    /**
     * 20200511 yl
     * 广告id查询广告
     * @param
     * @param advertInfo
     * @return
     */
    AdvertInfo selectAdvertByAdvertId(AdvertInfo advertInfo);

    /**
     * 20200512 yl
     * 视频更换广告
     * @param articleAdvertInfo
     * @return
     */
    void updateVideoAdvert(ArticleAdvertInfo articleAdvertInfo);
}
